Set 类继承结构图
Set 接口对 Collection 基本没有扩充,在 JDK 1.9 后追加了一些 of()
方法够建静态 Set
public static void main(String[] args) throws IOException {
Set<Integer> set = Set.of(1,2,3);
/**
* of 创建的集合不可修改,修改会报错
* java.lang.UnsupportedOperationException
*/
// set.add(4);
Set<Integer> set2 = new HashSet<>(set);
set2.add(4);
System.out.println(set2);
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
SortedSet 拓展 Set 方法
E first() // 返回 first (lowest) 元素
E last() // 返回 last (highest) 元素
SortedSet<E> headSet(E toElement) // 返回 [...,to) 部分,<
SortedSet<E> tailSet(E fromElement) // 返回 [from, ..] 部分,>=
SortedSet<E> subSet(E fromElement, E toElement) // [from, to)
1
2
3
4
5
2
3
4
5
NavigableSet 拓展 SortedSet 的方法
E lower(E e) // 小于给定elemernt的最大elemernt
E floor(E e) // 小于等于给定elemernt的最大elemernt
E higher(E e) // 大于给定elemernt的最小elemernt
E ceiling(E e) // 大于等于给定elemernt的最小elemernt
E pollFirst() // 弹出最小的element,O(logn)
E pollLast() // 弹出最大的element,O(logn)
Iterator<E> iterator()
Iterator<E> descendingIterator()
NavigableSet<E> descendingSet()
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12